home *** CD-ROM | disk | FTP | other *** search
- u
- UIEC INFORMATION
- The device is now shipping and Jim has
- kindly let me reprint the draft of the
- read me guide I personally have one of
- these on order and will give a full
- and honest review as soon as the
- device arrives for my testing.
-
- UIEC
- here is the most current README:
-
- sd2iec - a controller/interface
- adapting storage devices to the CBM
- serial bus Copyright (C) 2007,2008
- Ingo Korb <ingo@akana.de> Parts based
- on code from others, see comments in
- main.c for details. JiffyDos send
- based on code by M.Kiesel Fat LFN
- support and lots of other ideas by Jim
- Brain crc7.c generated by pycrc, see
- comments in it for pycrc licence.
- Final Cartridge III fastloader support
- by Thomas Giesel
-
- Free software under GPL version 2 ONLY,
- see comments in main.c and COPYING for
- details.
-
- FIXME:This file still needs to be
- expanded. A lot.
-
- INTRODUCTION:
- =============
- sd2iec is firmware, used in hardware
- designs like MMC2IEC, SD2IEC, or uIEC,
- that allows the Commodore serial bus
- to access removable storage devices
- (MMC, SD, CF) - think of it as a 1541
- with a modern storage medium instead
- of disks. The project was inspired by
- (and uses a few bits of code from)
- MMC2IEC[1] by Lars Pontoppidan and once
- ran on the same hardware before it grew
- too big for the ATmega32 used there.
-
- Currently, the firmware provides good
- DOS and file-level compatibility with
- CBM drives, but much work still
- remains. Unless specifically noted,
- anything that tries to execute code on
- the 1541 will not work, this includes
- every software fastloader.
-
- [1] Homepage:
- http://pontoppidan.info/lars/
- index.php?proj=mmc2iec
-
- Supported commands:
- ===================
- - General notes:
- Any command not listed below is not
- currently supported.
-
- - Directory filters:
- To show only directories, both =B (CMD-
- compatible) and =D can be used. On a
- real C= drive D matches everything.
- To include hidden files in directory,
- use *=H - on a 1541 this doesn't do
- anything. sd2iec marks hidden files
- with an H after the lock mark, i.e.
- "PRG<H" or "PRG H".
-
- CMD-style "short" and "long" directory
- listings with timestamps are supported
- ("$=T"), including timestamp filters.
- Please read a CMD manual for the syntax
- until this file is updated.
-
- - Partition directory:
- The CMD-style partition directory
- ($=P) is supported, including filters
- ($=P:S*). All partitions are listed
- with type "FAT", although this could
- change to NAT later for compatibility.
-
- - CD/MD/RD:
- Subdirectory access is compatible to
- the syntax used by the CMD drives,
- although drive/partition numbers are
- completely ignored.
-
- Quick syntax overview:
- CD:_ changes into the parent
- dir (_ is the left arrow on the C64)
- CD_ dito
- CD:foo changes into foo
- CD/foo dito
- CD//foo changes into \foo
- CD/foo/:bar changes into foo\bar
- CD/foo/bar dito
-
- You can use wildcards anywhere in
- the path. To change into an M2I or D64
- image the image file must be named
- after the :, it will not be recognized
- otherwise.
-
- MD uses a syntax similar to CD and
- will create the directory listed after
- thecolon (:) relative to any
- directory listed before it.
-
- MD/foo/:barcreates bar in foo
- MD//foo/:bar creates bar in \foo
-
- RD can only remove subdirectories of
- the current directory.
-
- RD:foo deletes foo
-
- CD is also used to mount/unmount
- image files. Just change into them
- as if they were a directory and use
- CD:_ (left arrow on the C64) to leave.
- Please note that image files are
- detected by file extension and file
- size & there is no reliable way to see
- if a file is a valid image file.
-
- - CP, C<Shift-P>
- This changes the current partition;
- see "Partitions" below for details.
-
- - C:
- File copy command, should be CMD
- compatible. The syntax is
-
- C[partition][path]:targetname=
- [[partition][path]:]sourcename[,
- [[p][p]:]sourcename...]
-
- You can use this command to copy
- multiple files into a single target
- file in which case all source files
- will be appended into the target
- file. Parsing restarts for every
- source file name which means that
- every source name is assumed to be
- relative to the current directory.
- You can use wildcards in the source
- names, but only the first
- file matching will be copied.
-
- Copying REL files should work, but
- isn't tested well. Mixing REL and
- non-REL files in an append operation
- isn't supported.
-
- - G-P
- Get partition info, see CMD FD/HD
- manual for details. The reported
- information is partially faked,
- feedback is welcome.
-
- - N:
- Format works only if a D64 image is
- already mounted.
-
- - R
- Renaming files should work the same
- as it does on CMD drives, although
- the errors flagged for invalid
- characters in the name may differ.
-
- - S:
- Name matching is fully supported,
- directories are ignored.
- Scratching of multiple files
- separated by , is also supported with
- no limit to the number of files except
- for the maximum command line length
- (usually 100 to 120 characters).
-
- - T-R and T-W
- If your hardware features RTC
- support the commands T-R (time read)
- and T-W (time write) are available. If
- the RTC isn't present, both commands
- return 30,SYNTAX ERROR,00,00; if the
- RTC is present but not set correctly
- T-R will return 31,SYNTAX ERROR,00,00.
-
- Both commands expect a fourth
- character that specifies time format
- to be used, T-W expects that the new
- time follows that character in exactly
- the format returned by T-R with the
- same format char.
-
- The possible formats are:
- - "A"SCII: "SUN. 01/20/08 01:23:45
- PM"+CHR$(13)
- The day-of-week string can be any of
- "SUN.", "MON.", "TUES", "WED.", "THUR",
- "FRI.", "SAT.". The year field is
- modulo 100.
- - "B"CD or "D"ecimal:
- Both these formats use 9 bytes to
- specify the time. For BCD everything is
- BCD-encoded, for Decimal the numbers
- are sent/parsed as-is.
- Byte 0: Day of the week (0 for
- Sunday)
-
- 1: Year (modulo 100 for BCD; -1900 for
- Decimal, i.e. 108 for 2008)
- 2: Month (1-based)
- 3: Day (1-based)
- 4: Hour (1-12)
- 5: Minute (0-59)
- 6: Second (0-59)
- 7: AM/PM-Flag (0 is AM, everything
- else is PM)
- 8: CHR$(13)
-
- When the time is set a year less
- that 80 is interpreted as 20xx.
-
- - U0
- Device address changing with
- "U0>"+chr$(new address) is supported,
- other U0 commands are currently not
- implemented.
-
- - U1/U2/B-R/B-W
- Block reading and writing is fully
- supported while a D64 image is
- mounted.
-
- - B-P
- Supported, not checked against the
- original rom at all.
-
- - UI+/UI-
- Switching the slightly faster bus
- protocol for the VC20 on/off works, it
- hasn't been tested much though.
-
- - UI/UJ
- Soft/Hard reset - UI just sets the
- "73,..." message on the error channel,
- UJ closes all active buffers but
- doesn't reset the current directory,
- mounted image, swap list or anything
- else.
-
- - U<Shift-J>
- Real hard reset - this command
- causes a restart of the AVR processor
- (skipping the bootloader if
- installed). <Shift-J> is character
- code 202.
-
- - X: Extended commands. If you use
- JiffyDOS, you can send them by using
- @"X..." - without quotes you'll just
- receive an error.
-
- - XEnumSets the "file extension mode".
- This setting controls if files on FAT
- are written with an x00 header and
- extension or not.
-
- Possible values for num are:
- 0: Never write x00 format files.
- 1: Write x00 format files for
- SEQ/USR/REL, but not for PRG
- 2: Always write x00 format files.
- 3: Use SEQ/USR/REL file
- extensions, no x00 header
- 4: Same as 3, but also for PRG
-
- If you set mode 3 or 4, extension
- hiding is automatically enabled. This
- setting can be saved in the EEPROM
- using XW, the default value is 1.
-
- For compatibility with existing
- programs that write D64 files, PRG
- files that have D64, D41, D71, D81 or
- M2I as an extension will always be
- written without an x00 header and
- without any additional PRG file
- extension.
-
- - XE+/XE-Enable/disable extension
- hiding. If enabled, files in FAT with
- a PRG/SEQ/USR/REL extension will have
- their extension removed and the file
- type changed to the type specified by
- the file extension - e.g.
- APPLICATION.PRG will become a PRG file
- named "APPLICATION", "README.SEQ" will
- become a SEQ file named "README".
- This flag can be saved in the EEPROM
- using XW, the default value is disabled
- (-).
-
- - XB+/XB-Enable/disable free block
- calculation for FAT32 drives. As the
- free block calculation for FAT32 can
- take a lot of time it can be disabled
- using XB-. If it is disabled, sd2iec
- will always report "1 BLOCKS FREE" for
- FAT32 drives. The free block
- calculation on FAT12/FAT16 isn't
- affected because it takes just two
- seconds at most. This flag can be saved
- in the EEPROM using XW, the default
- value is enabled (+).
-
- - XJ+/XJ-Set or reset the JiffyDOS
- protocol support flag. This flag can
- be saved in the EEPROM using XW, the
- default value is enabled (+).
-
- - X*+/X*-Enable/disable 1581-style
- * matching. If enabled, characters
- after a * will be matched against the
- end of the file name.
- If disabled, any characters after a *
- will be ignored.This flag can be
- saved in the EEPROM using XW, the
- default value is enabled (+).
-
- - XCnumSet oscillator calibration
- value to num (must be between 0 and
- 255). Default is whatever your chip
- defaults to. This value can be saved in
- the EEPROM using XW.
-
- - XX without any following
- characters reports the current state of
- all extended parameters via the error
- channel, similiar to DolphinDOS.
- Example result: "03,J-:C152:E01+:B+:*+,08,00"
- The track indicates the current device
- address.
-
- - XS:nameSet up a swap list - see
- "Changing Disk Images" below.
-
- XS Disable swap list
-
- - XW Store configuration to EEPROM
- This commands stores the current
- configuration in the EEPROM. It will
- automatically be read when the AVR is
- reset, so any changes you made will
- persist even after turning off the
- hardware.
-
- The stored configuration includes the
- oscillator calibration value, the
- JiffyDOS protocol support flag, the
- extension mode and the current device
- address. If you have changed the device
- address by software, sd2iec will power
- up with that address unless you have
- changed the device address jumpers (if
- available) to a different setting than
- the one active at the time the
- configuration was saved.
-
- You can think of this feature as
- changing the meaning of one specific
- setting of the jumpers to a different
- address if this sounds logical enough to you.
-
- The "hardware overrides software
- overrides hardware" priority was chosen
- to allow accessing sd2iec even when it
- is soft- configured for a device number
- that is already taken by another device
- on the bus without having to remove
- that device to reconfigure sd2iec (e.g.
- when using a C128D).
-
- - X? Extended version query
- This commands returns the extended
- version string which consists of the
- version, the processor type set at
- build time and the suffix of the
- configuration file (usually corresponds
- to the short name of the hardware
- sd2iec was compiled for).
-
- CONTINUED IN PART 2
-
-